iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
AI & Data

MLOps/LLMOps - 從零開始系列 第 12

Day12 - 重新檢視 MLOps 流程 (Staging stage)

  • 分享至 

  • xImage
  •  

以下針對 Staging stage 的重點部分作說明。

Staging stage 的重點在於測試 ML pipeline 的程式碼,確保它可以準備好進入 Production 環境。所有的 ML pipeline 程式碼都會在這個階段進行測試,包含了模型訓練、特徵工程、推論等等。

ML 工程師建立了一個 CI pipeline 來實作這個階段的單元測試與整合測試。Staging stage 的結果會是一個 release branch,並且觸發 CI/CD 系統來開始 Production stage。

https://ithelp.ithome.com.tw/upload/images/20230927/20091643RreWeLQBbG.png

如上圖所示,

  1. Merge request
    當 ML 工程師建立了一個 merge request 到 staging branch (通常是 main branch) 時,CI/CD 系統就會被觸發。

  2. Unit tests
    CI/CD 系統會自動建立程式碼,並且觸發單元測試。如果測試失敗,merge request 就會被拒絕。單元測試不會與資料或其他服務互動。

  3. Integration tests (CI)
    CI/CD 系統會執行整合測試,確保所有的 pipeline (包含了特徵工程、模型訓練、推論與監控) 可以正確的運作。Staging 環境應該要盡可能的接近 Production 環境。

為了減少整合測試的時間,模型訓練的步驟可以在準確度與速度之間做取捨。例如:使用小的資料集或是減少訓練的迭代次數。依照模型的使用情境,你可能會在這個階段進行Full-scale 的負載測試 (load testing)。

當整合測試通過之後,程式碼就可以進入 Production 環境。

  1. Merge to staging branch
    如果測試通過,程式碼就可以合併到 staging branch。如果測試失敗,CI/CD 系統會通知使用者,並且在 merge (pull) request 上貼上測試結果。

也可以定期在 staging branch 上進行整合測試。如果 staging branch 經常被不同的使用者更新,這是一個很好的做法。

  1. Create a release branch
    當程式碼準備好進入 Production 環境時,ML 工程師會建立一個 release branch,並且觸發 CI/CD 系統來更新 Production 環境的工作。

上一篇
Day11 - 重新檢視 MLOps 流程 (Development stage)
下一篇
Day13 - 重新檢視 MLOps 流程 (Production stage)
系列文
MLOps/LLMOps - 從零開始30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言